package com.example.administrator.basedemos.utils;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;

/**
 * 创建者     ZCL
 * 创建时间   2018/3/21 16:12
 * 描述	      ${判断网络是否可用}
 * <p>
 * 更新者     $Author$
 * 更新时间   $Date$
 * 更新描述   ${TODO}
 */

public class NetWorkUtil {
    private static  Context context;

    /**
     * 因为我们是在拦截器内使用所以先初始化 如果在方法内无法直接传
     * @param c
     */
    public static void init(Context c){
        context = c.getApplicationContext();
    }
    /**
     * 判断当前是否有网络
     *
     * @return
     */
    public static boolean isNetworkAvailable() {
        if (context != null) {
            ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            if (cm == null || cm != null && null == cm.getActiveNetworkInfo()) {
                return false;
            } else {
                NetworkInfo[] info = cm.getAllNetworkInfo();
                if (info != null) {
                    for (int i = 0; i < info.length; i++) {
                        if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                            Log.i("NetWorkState", "Availabel");
                            return true;
                        }
                    }
                }
            }
        }
            return false;
    }
}
